﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Facebook
{
	public class AttachmentHelper
	{
		/// <summary>
		/// helper class for calls to stream.publish with attachments
		/// </summary>
		public class attachment
		{
			/// <summary>
			/// name of attachment
			/// </summary>
			public string name { get; set; }
			/// <summary>
			/// href of attachment
			/// </summary>
			public string href { get; set; }
			/// <summary>
			/// caption of attachment
			/// </summary>
			public string caption { get; set; }
			/// <summary>
			/// description of attachment
			/// </summary>
			public string description { get; set; }
			/// <summary>
			/// list of media
			/// </summary>
			public List<attachment_media> media { get; set; }
		}
		
		/// <summary>
		/// attachment_media
		/// </summary>
		public class attachment_media
		{
			/// <summary>
			/// media type
			/// </summary>
			public attachment_media_type type { get; set; }
		}

		/// <summary>
		/// sub class of attahment_media for images
		/// </summary>
		public class attachment_media_image : attachment_media
		{
			/// <summary>
			/// Constructor
			/// </summary>
			public attachment_media_image()
			{
				this.type = attachment_media_type.image;
			}
			/// <summary>
			/// image src
			/// </summary>
			public string src { get; set; }
			/// <summary>
			/// image link
			/// </summary>
			public string href { get; set; }
		}

		


		/// <summary>
		/// enum defining the types of attachments
		/// </summary>
		public enum attachment_media_type
		{
			/// <summary>
			/// image
			/// </summary>
			image,
			/// <summary>
			/// flash
			/// </summary>
			flash,
			/// <summary>
			/// mp3
			/// </summary>
			mp3,
			/// <summary>
			/// video
			/// </summary>
			video
		}
	}
}
